Fault tolerance in distributed system